package eu.scillman.net;

import java.util.List;

/**
 * This interface describes the server-side methods.
 * @author Jiri Waning
 */
public interface IServer extends IProtocol {
	
	/**
	 * Bind the server to the specified address and port.
	 */
	public void bind(Member localAddress);
	
	/**
	 * Start listening for incoming connection requests.
	 */
	public void listen();
	
	/**
	 * Shutdown the server.
	 */
	public void shutdown();
	
	/**
	 * Get a list of connected members.
	 * @return A list containing all the connected members.
	 */
	public List<ConnectedMember> getMembers();

}
